package com.jctrip.hotel.source.model.meituan.req;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Builder;
import lombok.Data;

/**
 * @Author: zxy
 * @CreateTime: 2023-12-26 11:20
 * @Description: https://developer-distribution.meituan.com/#/apiDocs/1/25/27
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@Builder
public class OrderBookingReq {

    /**
     * 分销平台酒店ID
     */
    private Long hotelId;

    /**
     * 分销平台产品ID
     */
    private Long goodsId;

    /**
     * 入住人姓名列表，各姓名间以英文逗号分隔
     */
    private String personNames;

    /**
     * 联系人姓名
     */
    private String contactName;

    /**
     * 联系人电话号码（会校验号码的真实性、格式和位数）
     */
    private String contactPhone;

    /**
     * 最晚到店时间，格式为yyyy-MM-dd HH:mm:ss
     */
    private String arriveDate;

    /**
     * 入住日期，格式为yyyy-MM-dd, 钟点房时入住时间，格式为yyyy-MM-dd HH:mm:ss
     */
    private String checkinDate;

    /**
     * 离店日期，格式为yyyy-MM-dd, 钟点房时离店时间，格式为yyyy-MM-dd HH:mm:ss
     */
    private String checkoutDate;

    /**
     * 预订间数
     */
    private Integer roomNum;

    /**
     * 订单总价，单位为分。总价=预订房间数x预定日期内房间单价。例如，4月1日入住，4月3日离店，预定2间房，则总价=2*(4月1日房价+4月2日房价）
     */
    private Integer totalPrice;

    /**
     * 结算价，单位为分。结算价=总价 - 分销商佣金
     */
    private Integer settlePrice;

    /**
     * 分销商订单ID
     */
    private String distributorOrderId;

    /**
     * 身份证号。部分产品为必填字段。入住人身份证与上述入住人姓名先后顺序保持一致，各证件号以英文逗号分隔（会校验证件号的真实性、格式和位数）
     */
    private String personIdentities;

    /**
     * 【该字段已废弃】
     * 是否需要美团开发票:
     * 0 不需要
     * 1 需要
     */
    private Integer needInvoice;
}
